import streamlit as st
from datetime import date, time

# 文本输入框
st.header("文本输入")
username = st.text_input("请输入您的用户名", value="", max_chars=50)
st.write(f"您输入的用户名是: {username}")

# 数字输入框
st.header("数字输入")
age = st.number_input("请输入您的年龄", min_value=0, max_value=120, value=18)
st.write(f"您的年龄是: {age}")

# 多行文本输入框
st.header("多行文本输入")
bio = st.text_area("请输入您的个人简介", value="在这里分享一些关于自己的信息...", height=150)
st.write("您的个人简介:")
st.text(bio)

# 日期选择器
st.header("日期选择")
selected_date = st.date_input("请选择您的生日", min_value=date(1950, 1, 1), max_value=date.today())
st.write(f"您的生日是: {selected_date}")

# 时间选择器
st.header("时间选择")
selected_time = st.time_input("请选择您的起床时间", value=time(8, 30))
st.write(f"您的起床时间是: {selected_time}")

# 多选框
st.header("多选兴趣爱好")
interests = st.multiselect("请选择您的兴趣爱好", ["阅读", "编程", "旅行", "音乐", "运动"])
st.write("您的兴趣爱好有:")
for interest in interests:
    st.write("- " + interest)

# 滑块选择数值或区间
st.header("年龄区间选择")
age_range = st.slider("请选择您感兴趣的年龄段范围", 18, 70, (25, 50))
st.write(f"您选择的年龄段是: {age_range[0]} 到 {age_range[1]} 岁")